package com.dhc.redpacket.dao;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.dhc.redpacket.pojo.RedPacket;

@Repository
public interface RedPacketDao {

	/**
	 * 获取红包信息
	 *
	 * @param id 红包id
	 * @return 红包的具体信息
	 */
	public RedPacket getRedPacket(Long id);

	/**
	 * 扣减红包数
	 *
	 * @param id 红包id
	 * @return 更新记录数
	 */
	public int decreaseRedPacket(Long id);

	/**
	 * 通过版本号扣减红包
	 * 
	 * @param id      红包id
	 * @param version 依赖的版本号
	 * @return 更新影响的记录数
	 */
	public int decreaseRedPacketForVersion(Long id, Integer version);
}
